generated at
✅projectを移動したときにwindowが残る | external-completion
/customize/external-completionのバグの一つ。
別のprojectに移っても入力補完機能が残ってしまう
ページを更新しないとコードが消えてくれない
別プロジェクトでもexternal-completionと使っていると、二重にwindowが表示されしまう
reloadすればなんとかなる

script.jsで直にclassのinstanceを作成すれば直る?
こうではなく
before.js
import {startSuggestingExternalProjectLinks} from '/api/code/customize/external-completion/script.js'; // 入力候補に入れたいprojectを書く startSuggestingExternalProjectLinks([ 'shokai', 'hub', 'customize', 'scrapboxlab']);
こうする
after.js
import {ExternalCompletion} from '/api/code/customize/external-completion/script.js'; const externalCompletion = new ExternalCompletion([ 'shokai', 'hub', 'customize', 'scrapboxlab']); externalCompletion.start();
2020/8/27 04:57 ダメだった
emoji-completionを↑のような構造にしてみたが、依然コードが消えてくれない。

解決策
すぐ実装できること
二重起動防止フラグを作る
suggestWindow id で二重起動しているかどうかがわかる。
もし二重起動していたら、 constructor の初期化を中断し、更に start() でevent handlersを追加しないようにする
ゆっくり考えること
singletonにする?
ページ遷移すると入力候補を再読込するようにしてみたい
serverに負荷がかかる?

References